Input feature and kernel selection for support vector machine classification

ABSTRACT

A feature selection technique for support vector machine (SVM) classification makes use of fast Newton method that suppresses input space features for a linear programming formulation of a linear SVM classifier, or suppresses kernel functions for a linear programming formulation of a nonlinear SVM classifier. The techniques may be implemented with a linear equation solver, without the need for specialized linear programming packages. The feature selection technique may be applicable to linear or nonlinear SVM classifiers. The technique may involve defining a linear programming formulation of a SVM classifier, solving an exterior penalty function of a dual of the linear programming formulation to produce a solution to the SVM classifier using a Newton method, and selecting an input set for the SVM classifier based on the solution.

This invention was made with Government support awarded by USAF/AFOSR, and Contract No. F49620-00-1-0085 awarded by the U.S. Government. The United States may have certain rights in this invention.

TECHNICAL FIELD

This invention relates to classification techniques and, more particularly, to support vector machine (SVM) classification.

BACKGROUND

A support vector machine (SVM) is a powerful tool for data classification and is often used for data mining operations. Classification is achieved by identifying a linear or nonlinear separating surface in the input space of a data set. The separating surface distinguishes between two classes of elements forming an extremely large data set. Advantageously, the separating surface depends only on a subset of the original data. This subset of data, which is used to define the separating surface, constitutes a set of support vectors.

To enhance performance of an SVM classifier, it is desirable to make the set of support vectors that defines the separating surface as small as possible, e.g., by reducing the set of input features in the case of a linear SVM classifier, or reducing a set of kernel functions in the case of a nonlinear SVM classifier. Applications such as fraud detection, credit evaluation, gene expression, and medical diagnosis or prognosis, for example, may present an input space with thousands, or even millions, of data points. The ability to suppress less useful data and select a reduced set of meaningful support vectors can greatly enhance the performance of the SVM classifier, in terms of computational resources, speed, and accuracy.

SUMMARY

The invention is directed to a feature or kernel selection technique for SVM classification. In accordance with the invention, the selection technique makes use of a fast Newton method that suppresses input space features for a linear programming formulation of a linear SVM classifier, which can be referred to as a Newton Linear Programming Support Vector Machine (NLPSVM). The technique also may be applied to suppress kernel functions in the case of a nonlinear SVM classifier. The Newton method described herein can implemented with a linear equation solver, without the need for specialized and costly linear programming packages. The selection technique may be applicable to linear SVM classifiers or nonlinear SVM classifiers, producing a reduced set of input features of kernel functions, respectively.

The fast Newton method is used to solve an exterior penalty function of a dual of the linear programming formulation of the SVM for a finite value of the penalty parameter. The linear programming formulation is based on a 1-norm SVM formulation that is selected, in accordance with the invention, to generate very sparse solutions. By solving the exterior penalty function of the dual of the linear programming formulation, the method produces an exact least 2-norm solution to the SVM classifier. The resultant separating hyperplane relies on very few input features. When the resultant surface is nonlinear, it uses a reduced number of kernel functions.

In one embodiment, the invention provides a method comprising defining a linear programming formulation of a SVM classifier, solving an exterior penalty function of a dual of the linear programming formulation to produce a solution to the SVM classifier, and selecting an input set for the SVM classifier based on the solution. The input set includes a reduced set of input features in the case of a linear SVM classifier, or a reduced set of kernel functions in the case of a nonlinear SVM classifier.

In another embodiment, the invention provides a classification system comprising a processor that applies a linear programming formulation of a SVM classifier to classify data based on a small subset of input features, and an input module that generates the input features based on a solution of an exterior penalty function of a dual of the linear programming formulation.

In a further embodiment, the invention provides a computer-readable medium comprising instructions to cause a processor to define a linear programming formulation of a SVM classifier, solve an exterior penalty function of a dual of the linear programming formulation to produce a solution to the SVM classifier, and select input features for the SVM classifier based on the solution.

The invention may provide a number of advantages. For example, the feature-kernel selection techniques described herein are capable of substantially reducing the number of input features necessary to define an SVM classifier. By suppressing input space features, the techniques can enhance the performance of the SVM classifier in terms of computational resources, speed, and accuracy. In addition, feature selection can be achieved with the aid of a simple linear equation solver, rather than specialized linear programming packages that present additional complexity and cost.

When a linear classifier is used, a sparse solution implies that the separating hyperplane depends on very few input features, making the feature suppression method very effective for feature selection for classification problems. When a nonlinear classifier is used, a sparse solution implies that very few kernel functions determine the classifier, making the nonlinear classifier easier to store and fast to evaluate. Accordingly, a feature-kernel selection technique as described herein may be advantageous in either case.

The details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram illustrating a system for feature selection for an SVM classifier in accordance with the invention.

FIG. 2 is a block diagram illustrating a feature-kernel selection module of the system of FIG. 1 in greater detail.

FIG. 3 is a flow diagram illustrating a feature selection method for a SVM classifier in accordance with the invention.

FIG. 4 is a graph of bounding planes and a separating plane generated by an SVM classifier.

FIG. 5 is a graph illustrating an absolute call feature set.

DETAILED DESCRIPTION

FIG. 1 is a block diagram illustrating a system 10 for feature selection for an SVM classifier. As shown in FIG. 1, system 10 includes a data storage medium containing a set of input data 12, and a processor 14 that implements a feature-kernel selection module 16 and an SVM classifier 18. Processor 14 may reside within a general purpose computer or computer workstation. Feature-kernel selection module 16 and SVM classifier 18 may take the form of software processes or modules executing on processor 14, or on different processors. Hence, in some embodiments, the invention may be embodied as computer-readable medium including instructions for execution by processor 14.

Feature-kernel selection module 16 may operate independently of SVM classifier 18 to simultaneously select a reduced input set 22, comprising input features for linear classifiers or kernel Functions for nonlinear classifiers, and generate a linear or nonlinear SVM classifier 18 based on input data 12 while utilizing the reduced input set 22 of input features or reduced kernel functions. In general, feature-kernel selection module 16 defines a linear programming formulation of SVM classifier 18, solves an exterior penalty function of a dual of the linear programming formulation to produce a solution to the SVM classifier, and selects an input set for the SVM classifier based on the solution. The input set includes selected features in the case of a linear classifier, or selected kernel functions in the case of a nonlinear classifier.

SVM classifier 18 generates classification output 20, which classifies input data 12 into two classes based on the reduced input set 22 of input features or kernel functions generated by feature-kernel selection module 16. SVM classifier 18 may be based on a linear or nonlinear SVM. In the case of a linear SVM, feature-kernel selection module 16 generates a reduced set of input features. In the case of a nonlinear SVM, feature-kernel selection module 16 generates a reduced set of kernel functions. Classification output 20 may be useful in a variety of applications including, for example, fraud detection, credit evaluation, gene expression, and medical diagnosis and prognosis.

Feature-kernel selection module 16 selects a small subset of input features or a small number of kernel functions from a large set of input data 12 to define SVM classifier 18. Feature-kernel selection module 16 may be implemented with a linear equation solver, without the need for specialized and costly linear programming packages. In addition, as discussed above, feature-kernel selection module 16 may be effective in suppressing input features for linear SVM classifiers and suppressing kernel functions for nonlinear SVM classifiers. In operation, feature-kernel selection module 16 applies a fast Newton method to solve an exterior penalty function for a dual of a linear programming formulation of SVM classifier 18 to solve the SVM classifier function.

Feature-kernel selection module 16 applies the Newton method to the dual of a 1-norm linear programming formulation that is known to produce very sparse solutions. By solving the exterior penalty function of the dual of the 1-norm linear programming formulation, for a finite value of the penalty parameter, feature-kernel selection module 16 produces an exact least 2-norm solution to the SVM classifier 18. The resultant separating hyperplane defined by SVM classifier 18 relies on a reduced set of input features. In the case of a nonlinear SVM classifier, few kernel functions are needed.

SVM classifier 18 applies the input features (or kernel functions) produced by feature-kernel selection module 16 to generate classification output 20 for the larger set of input data 12. Hence, feature-kernel selection module 16 applies a fast Newton method that suppresses input features to define a linear SVM classifier that depends on very few input features or a nonlinear classifier with few kernel functions. Notably, feature-kernel selection module 16 enables formulation of an SVM classifier 18 that is capable of handling classification problems in very high dimensional spaces using only a linear equation solver, thereby eliminating the need for complex and costly linear programming packages. The SVM classifier generated with the resulting input features can be referred to as a Newton Linear Programming Support Vector Machine (NLPSVM).

FIG. 2 is a block diagram illustrating an exemplary feature-kernel selection module 16 of system 10 of FIG. 1 in greater detail. As shown in FIG. 2, feature-kernel selection module 16 may include a linear programming support vector machine (LPSVM) dual generator 26 that produces the dual of a linear programming formulation of SVM classifier 18. Again, LPSVM dual generator 26 produces the dual of a 1-norm linear programming formulation that is selected to produce sparse solutions.

An exterior penalty function solver 28 solves an exterior penalty function of the dual of the linear programming formulation to solve the SVM classifier function. Based on the solution of the exterior penalty function, a feature-kernel selection generator 30 processes input data 12 to suppress redundant features or kernels and thereby generate a reduced input set 22 of feature or kernel coefficients for use by SVM classifier 18. The structural representation of feature-kernel selection module 16 as a set of functional modules in FIG. 2 is for purposes of illustration, and should not be considered limiting of the invention as broadly embodied and described herein.

FIG. 3 is a flow diagram illustrating a feature or kernel selection method for an SVM classifier 18, as shown in FIG. 1. The feature-kernel selection method is implemented by feature-kernel selection module 16, shown in FIGS. 1 and 2. As shown in FIG. 3, feature-kernel selection module 16 defines a linear programming formulation of SVM classifier 18 (32), and solves the exterior penalty function of the dual of the linear programming formulation of the SVM classifier (34). Based on the solution to the exterior penalty function, feature-kernel selection module 16 selects input features or kernel functions using the input dataset (36). Feature-kernel selection module 16 then applies the input features or kernel functions to SVM classifier 18 (38), which generates classification output (40) for the input data.

Various details of feature-kernel selection module 16, the linear programming formulation, the Newton method applied by the feature-kernel selection module, and exemplary algorithms useful in implementation of the feature-kernel selection module will be described below. In general, the feature-kernel selection techniques contemplated by the invention permit an SVM classifier to handle classification problems in very high dimensional spaces with very few input features. As an example, set forth in greater detail below, the feature selection technique has been observed to be effective in reducing an input space having 28,032 dimensions to just 7 input features for definition of an operable linear SVM classifier. Hence, the techniques described herein are effective in selecting a subset of input features from a larger set of input features that is substantially larger than the subset of input features. Advantageously, the Newton method implemented by feature-kernel selection module 16 requires only a linear equation solver and can be represented in several lines of MATLAB code.

By minimizing an exterior penalty function of the dual of a 1-norm linear programming formulation of SVM classifier 18 using the fast Newton method, for a finite value of the penalty parameter, an exact least 2-norm solution to the SVM classifier is obtained. This approach is based on a 1-norm SVM linear programming formulation that is selected to generate very sparse solutions. A suitable 1-norm SVM formulation is described in “Feature Selection via Concave Minimization and Support Vector Machines,” by P. S. Bradley and O. L. Mangasarian, in Machine Learning Proceedings of the Fifteenth International Conference (ICML '98), pages 82-90, San Francisco, Calif., 1998, J. Shavlik, editor. As detailed in the Bradley and Mangasarian paper, this 1-norm SVM formulation has been observed to produce very sparse solutions.

Another fast Newton method (NSVM) was also proposed recently, in G. Fung and O. L. Mangasarian, “Finite Newton method for Lagrangian support vector machine classification,” Technical Report 02-01, Data Mining Institute, Computer Sciences Department, University of Wisconsin, Madison, Wis., 2002 (to appear in Neurocomputing), based on a quadratic programming formulation of support vector machines. A quadratic programming formulation, unlike a linear programming formulation as described herein, does not generate sparse solutions and hence does not suppress input features. This characteristic contrasts sharply with the strong feature suppression property of the Newton method described herein.

With the linear and nonlinear kernel classification problems formulated as a linear programming problem, rather than a quadratic programming formulation, an exact solution to the linear programming SVM can be obtained by minimizing the exterior penalty function of its dual for a finite value of the penalty parameter. The fast Newton algorithm is used to solved the exterior penalty and establish its global convergence. The linear programming formulation and the Newton algorithm will be described in detail below, following a discussion of applicable notation used throughout this disclosure.

First, vectors will be column vectors unless transposed to a row vector by a prime superscript′. For a vector x in the n-dimensional real space R^(n), the plus function x₊ is defined as (x₊) i=max {0, x_(i)}, i=1, . . . , n, while x* denotes the subgradient of x₊ which is the step function defined as (x*)_(i)=1 if x_(i)>0, (x*)_(i)=0 if x_(i)<0, and (x*)_(i)ε[0, 1] if x_(i)=0, i=1, . . . , n. Thus, (x*)_(i) is any value in the interval [0, 1], when x_(i)=0, and typically (x*)_(i)=0.5 in this case. The scalar (inner) product of two vectors x and y in the n-dimensional real space R^(n) will be denoted by x′y, the 2-norm of x will be denoted by ∥x∥ and x⊥y denotes orthogonality, i.e., x′y=0. The 1-norm and ∞-norm will be denoted by ∥·∥₁ and ∥·∥∞, respectively.

For a matrix AεR^(m×n), A_(i) is the ith row of A, which is a row vector in R^(n), and ∥A∥ is the 2-norm of A: max ∥Ax ∥ for ∥x ∥=1. A column vector of ones of arbitrary dimension will be denoted by e and the identity matrix of arbitrary order will be denoted by I. For AεR^(m×n) and BεR^(n×1), the kernel K(A, B) [27,4,18] is an arbitrary function which maps R^(m×n)×R^(n×1) into R^(m×1). In particular, if x and y are column vectors in R^(n), then K(x′, y) is a real number, K(x′, A′) is a row vector in R^(m) and K(A, A′) is an m×m matrix. If f is a real valued function defined on the n-dimensional real space R^(n), the gradient of ƒ at x is denoted by ∇ƒ(x), which is a column vector in R^(n) and the n×n matrix of second partial derivatives of ƒ at x is denoted by ∇²ƒ(x).

For a piecewise quadratic function such as ƒ(x)=½∥(Ax−b)₊∥²+½x′Px, where AεR^(m×n), PεR^(n×n), P=P′, P positive semidefinite and bεR^(m), the ordinary Hessian does not exist because its gradient, the n×1 vector ∇ƒ(x)=A′(Ax−b)₊+Px, is not differentiable. However, one can define its generalized Hessian, which is the n×n symmetric positive semidefinite matrix: ∂²ƒ(x)=A′diag(Ax−b)*A+P  (1) where diag(Ax−b)* denotes an m×m diagonal matrix with diagonal elements (A_(i)x−b_(i))*, i=1, . . . , m. The generalized Hessian has many of the properties of the regular Hessian in relation to ƒ(x). If the smallest eigen value of ∂²ƒ(x) is greater than some positive constant for all xεR_(n), then ƒ(x) is a strongly convex piecewise quadratic function on R^(n). Throughout this disclosure, the notation:=will denote definition.

The fundamental classification problems that lead to a linear programming formulation for SVM classifier 18 will now be described. Consider the problem of classifying m points in the n-dimensional real space R^(n), represented by the m×n matrix A, according to membership of each point A_(i) in the classes +1 or −1 as specified by a given m×m diagonal matrix D with ones or minus ones along its diagonal. For this formulation, the standard SVM with a linear kernel AA′ is given by the following quadratic program for some ν>0:

$\begin{matrix} {{{\min\limits_{({w,\gamma,y})}\mspace{34mu}{\upsilon\; e^{\prime}y}} + {\frac{1}{2}w^{\prime}w}}{{{s.t.\mspace{14mu}{D\left( {{A\; w} - {e\;\gamma}} \right)}} + y} \geq e}\mspace{200mu}{y \geq 0.}} & (2) \end{matrix}$

FIG. 4 is a graph of bounding planes 40, 42 and a separating plane 44 generated by a support vector machine classifier as described herein. As depicted in FIG. 4, w is the normal to the bounding planes: x′w−γ=+1 x′w−γ=−1,  (3) and γ determines their location relative to the origin. Plane 42 above bounds the class +1 points 46 and plane 40 bounds the class −1 points 48 when the two classes are strictly linearly separable, i.e., when the slack variable y=0. The linear separating surface is the plane: x′w=γ,  (4) midway between bounding planes 40, 42. If the classes are linearly inseparable, then the two planes 40, 42 bound the two classes with a “soft margin” determined by a nonnegative slack variable y, that is: x′w−γ+y _(i)≧+1, for x′=A _(i) and D _(ii)=+1. x′w−γ−y _(i)≦−1, for x′=A _(i) and D _(ii)=−1.  (5)

The 1-norm of the slack variable y is minimized with weight ν in equation (2). The quadratic term in equation (2), which is twice the reciprocal of the square of the 2-norm distance

$\frac{2}{w}$ between the two bounding planes of equation (3) in the n-dimensional space of wεR^(n) for a fixed γ, maximizes that distance, often called the “margin.”

FIG. 4 depicts the points represented by A, the bounding planes of equation (3) with margin

$\frac{2}{w},$ and the separating plane from equation (4) which separates A+, the points represented by rows of A with D_(ii)=+1, from A−, the points represented by rows of A with D_(ii)=−1.

In a linear programming formulation of the standard SVM in equation (2), the term

$\frac{1}{2}w^{\prime}w$ is replaced by ∥w∥₁, which is twice the reciprocal of the ∞-norm distance between the bounding planes of equation (3). Importantly, empirical evidence indicates that the 1-norm formulation has the advantage of generating very sparse solutions. As a result, the normal w to the separating plane x′w=γ has many zero components, which implies that many input space features do not play a role in defining the linear SVM classifier.

This solution sparseness, and its implications for definition SVM classifier, makes the 1-norm linear programming formulation suitable for feature selection in classification problems. Notably, in addition to the conventional interpretation of smaller ν as emphasizing a larger margin between the bounding planes of equation (3), a smaller ν here also results in a sparse solution. This 1-norm formulation leads to the linear programming problem:

$\begin{matrix} {{{\min\limits_{({p,q,\gamma,y})}\mspace{31mu}{\upsilon\; e^{\prime}y}} + {e^{\prime}\left( {p + q} \right)}}{{{s.t.\mspace{20mu}{D\left( {{A\left( {p - q} \right)} - {e\;\gamma}} \right)}} + y} \geq e}\mspace{205mu}{p,q,{y \geq 0},}} & (6) \end{matrix}$ where the following substitution for w has been made: w=p−q, p≧0, q≧0,  (7) This substitution results in a linear programming SVM formulation that is different and simpler than previous linear programming SVM formulations. Feature-kernel selection module 16 therefore relies on the dual of the linear programming formulation of equation (6), as follows:

$\mspace{70mu}{\max\limits_{u\; \in \; R^{m}}\mspace{11mu}{e^{\prime}u}}$ $\begin{matrix} {{{s.t.\mspace{20mu}{- e}} \leq \mspace{25mu}{A^{\prime}{Du}}\mspace{31mu} \leq \mspace{31mu} e},\mspace{135mu}{{{- e^{\prime}}{Du}}\mspace{20mu} = \mspace{31mu} 0},\mspace{169mu}{u\mspace{45mu} \leq \mspace{31mu}{ve}},\mspace{169mu}{u\mspace{45mu} \geq \mspace{31mu} 0.}} & (8) \end{matrix}$ The asymptotic exterior penalty function for this dual linear programming formulation of equation (8) is the following nonnegatively constrained minimization problem:

$\begin{matrix} {{{\min\limits_{u \geq 0}\mspace{14mu}{{- ɛ}\; e^{\prime}u}} + {\frac{1}{2}{\left( {{A^{\prime}{Du}} - e} \right)_{+}}^{2}} + {\frac{1}{2}{\left( {{{- A^{\prime}}{Du}} - e} \right)_{+}}^{2}} + {\frac{1}{2}{{e^{\prime}{Du}}}^{2}} + {\frac{1}{2}{\left( {u - {\upsilon\; e}} \right)_{+}}^{2}}},} & (9) \end{matrix}$ where ε is a positive penalty parameter that needs to approach zero for standard penalty application to solve the dual linear programming formulation of equation (8). In the present approach, however, the fact that ε will remain finite is established so that an exact solution to the 1-norm linear programming SVM formulation of equation (6) can be obtained. To do that, the Karush-Kuhn-Tucker necessary and sufficient optimality conditions for the penalty function of equation (9) are stated as follows:

$\begin{matrix} {0 \leq u\mspace{11mu}\bot\left( {{{{{- \varepsilon}\mspace{11mu} ɛ} + \;{{DA}\left( {{A^{\prime}{Du}} - ɛ} \right)}_{+} - {{DA}\left( {{{- A^{\prime}}{Du}} - e} \right)}_{+} + {D\; ɛ\; e^{\prime}{Du}} + \left( {u - {\upsilon\; e}} \right)_{+}} \geq 0},} \right.} & (10) \end{matrix}$ where ⊥ denotes orthogonality. Notably, these conditions in expression (10) are also the necessary and sufficient conditions for finding an exact least 2-norm solution to the linear programming SVM formulation of equation (6) without ε approaching zero. To do that, it is first necessary to formulate the least 2-norm problem for equation (6) as follows:

$\begin{matrix} {{{\min\limits_{({p,q,\gamma,y})}{\upsilon\; e^{\prime}y}} + {e^{\prime}\left( {p + q} \right)} + {\frac{ɛ}{2}\left( {{p}^{2} + {q}^{2} + \gamma^{2} + {y}^{2}} \right)}}\mspace{45mu}{{{s.t.\mspace{20mu}{D\left( {{A\left( {p - q} \right)} - {e\;\gamma}} \right)}} + y} \geq e}\mspace{101mu}{p,q,{y \geq 0},}} & (11) \end{matrix}$ with the Karush-Kuhn-Tucker necessary and sufficient optimality conditions stated as follows: 0≦εp⊥e+εp−A′Du≧0 0≦εq⊥e+εq+A′Du=0 εγ+e′Du=0 0≦εy⊥νe+εy−u≧0 0≦u⊥DA(p−q)−Deγ+y−e≧0  (12)

It follows that, for any positive ε such that εε(0, ε] for some ε>0, any (p, q, γ, y) satisfying the Karush-Kuhn-Tucker conditions of equation (12) for some uεR^(m) is the exact least 2-norm solution to the linear programming SVM formulation of equation (6). However, if the Karush-Kuhn-Tucker conditions of expression (10) are used in the penalty problem of equation (9):

$\begin{matrix} {{p = {\frac{1}{\varepsilon}\left( {{A^{\prime}D\; u} - e} \right)_{+}}},{q = {\frac{1}{\varepsilon}\left( {{{- A^{\prime}}D\; u} - e} \right)_{+}}},{\gamma = {{- \frac{1}{\varepsilon}}e^{\prime}D\; u}},{y = {\frac{1}{\varepsilon}\left( {u,{\upsilon\; e}} \right)_{+}}},} & (13) \end{matrix}$ and use is made of the simple equivalence: a=b ₊⇄0≦a⊥(a−b)≧0,  (14) then equation (13) together with the Karush-Kuhn-Tucker conditions of expression (10) for the exterior penalty function of equation (9), become precisely the Karush-Kuhn-Tucker necessary and sufficient conditions of expression (12) for the least 2-norm linear programming SVM formulation of equation (11). Thus, the proposition set forth below is proven:

Proposition: Equivalence of Least 2-norm LPSVM to Dual Exterior Penalty

A solution u to the dual exterior penalty (DEP) problem (9) for εε(0, ε] for some ε>0, provides an exact least 2-norm solution to the primal linear programming SVM of equation (6) as follows:

$\begin{matrix} \begin{matrix} {{w = {{p - q}=={\frac{1}{\varepsilon}\left( {\left( {{A^{\prime}{Du}} - e} \right)_{+} - \left( {{{- A^{\prime}}{Du}} - e} \right)_{+}} \right)}}},} \\ {{\gamma = {{- \frac{1}{\varepsilon}}e^{\prime}{Du}}},} \\ {y = {\frac{1}{\varepsilon}{\left( {u - {\upsilon e}} \right)_{+}.}}} \end{matrix} & (15) \end{matrix}$ Hence, by minimizing the exterior penalty function, feature-kernel selection module 16 is able to produce a solution to the SVM function.

The foregoing techniques are also useful with nonlinear kernel classifiers. For nonlinear kernel classifiers, this disclosure will generally use the notation described in O. L. Mangasarian, “Generalized support vector machines,” in A. Smola, P. Bartlett, B. Scholkopf, and D. Schuurmans, editors, Advances in Large Margin Classifiers, pages 135-146, Cambridge, Mass., 2000, MIT Press. For AεR^(m×n) and BεR^(n×l), the kernel K(A, B) maps R^(m×n)×R^(n×l) into R^(m×l). A typical kernel is the Gaussian kernel: ε^(−μ∥A) ^(i) ^(′−B·) ^(j) ^(∥) ² , i,j=1, . . . ,m,l=m where ε is the base of natural logarithms, while a linear kernel is K(A, B)=AB. For a column vector x in R^(n), K(x′, A′) is a row vector in R^(m), and the linear separating surface of equation (4) is replaced by the nonlinear separating surface: K(x′,A′)Dν=γ,  (16) where ν is the solution of the dual problem of equation (8) appropriately modified as follows. For a linear kernel K(A, A′)=AA′, w=A′Dν per equation (16). The primal linear programming SVM of equation (4) then becomes, upon using w=p−q=A′Dν and the 1-norm of ν in the objective instead of that of w:

$\begin{matrix} \begin{matrix} \min\limits_{({v,\gamma,y})} & {{{\upsilon e}^{\prime}y} + {v}_{1\mspace{79mu}}} \\ {s.t.} & {{{D\left( {{{AA}^{\prime}{Dv}} - {e\;\gamma}} \right)} + y} \geq e} \\ \; & {y \geq 0.} \end{matrix} & (17) \end{matrix}$ and setting: ν=r−s, r≧0, s≧0,  (18) the linear programming formulation of (17) becomes:

$\begin{matrix} \begin{matrix} \min\limits_{({r,s,,\gamma,y})} & {{{{\upsilon e}^{\prime}y} + {e^{\prime}\left( {r + s} \right)}}\mspace{34mu}} \\ {s.t.} & {{{D\left( {{A\; A^{\prime}{D\left( {r - s} \right)}} - {e\;\gamma}} \right)} + y} \geq e} \\ \; & {r,s,{y \geq 0},} \end{matrix} & (19) \end{matrix}$ which is the linear kernel SVM in terms of the dual variable ν=r−s. If the linear kernel AA′ in equation (19) is replaced with the nonlinear kernel K(A, A′), the nonlinear kernel linear programming formulation is obtained as follows:

$\begin{matrix} \begin{matrix} \min\limits_{({r,s,\gamma,y})} & {{{{\upsilon e}^{\prime}y} + {e^{\prime}\left( {r + s} \right)}}\mspace{85mu}} \\ {s.t.} & {{{D\left( {{{K\left( {A,A^{\prime}} \right)}{D\left( {r - s} \right)}} - {e\;\gamma}} \right)} + y} \geq e} \\ \; & {r,s,{y \geq 0.}} \end{matrix} & (20) \end{matrix}$ Note that the linear programming formulation (20) is identical to the linear classifier SVM of equation (6) if: A→K(A,A′)D,  (21) in equation (6) and n→m. Hence, the results outlined in the Proposition above are applicable to a nonlinear kernel if the replacement of equation (21) is made in equation (9) and (15) and p→r, q→s, w→ν in equation (15), and the nonlinear kernel classifier of equation (16) is used.

As in the linear case, the 1-norm formulation (21) leads to a very sparse ν. Every zero component ν_(i) of ν implies non-dependence of the nonlinear kernel classifier on the kernel function K(x′, A′_(i)). This results because:

$\begin{matrix} \begin{matrix} {{{K\left( {x^{\prime},A^{\prime}} \right)}D\;\upsilon} = {\sum\limits_{i = 1}^{m}{D_{ii}\upsilon_{i}{K\left( {x^{\prime},A_{i}^{\prime}} \right)}}}} \\ {= {\sum\limits_{\{{i|{\upsilon_{i} \neq 0}}\}}{D_{ii}\upsilon_{i}{{K\left( {x^{\prime},A_{i}^{\prime}} \right)}.}}}} \end{matrix} & (22) \end{matrix}$

An algorithmic implementation of the above linear programming proposition will now be described with respect to a fast Newton method, which may be referred to as a Newton Method for Linear Programming Support Vector Machine (NLPSVM). In particular, the dual exterior penalty of equation (9) is solved for a finite value of the penalty parameter ε by incorporating the nonnegativity constraint u≧0 into the objective function of equation (9) as a penalty term as follows:

$\begin{matrix} \begin{matrix} {{\min\limits_{u}{f(u)}} = {{{- \varepsilon}\mspace{11mu} e^{\prime}u} + {\frac{1}{2}{\left( {{A^{\prime}{Du}} - e} \right)_{+}}^{2}} +}} \\ {{\frac{1}{2}{\left( {{{- A^{\prime}}{Du}} - e} \right)_{+}}^{2}} + {\frac{1}{2}{{e^{\prime}{Du}}}^{2}} +} \\ {{\frac{1}{2}{\left( {u - {\upsilon\; e}} \right)_{+}}^{2}} + {\frac{\alpha}{2}{{\left( {- u} \right)_{+}}^{2}.}}} \end{matrix} & (23) \end{matrix}$ The gradient of this function is given by: ∇ƒ(u)=−εe+DA(A′Du−e)₊ −DA(−A′Du−e)₊ +Dee′Du+(u−νe)₊−α(−u)₊  (24) and its generalized Hessian as defined in equation (1) is given as follows:

$\begin{matrix} \begin{matrix} {{\partial^{2}{f(u)}} = {{DA}\left( {{{{diag}\left( {\left( {{A^{\prime}{Du}} - e} \right)_{*} + \left( {{{- A^{\prime}}{Du}} - e} \right)_{*}} \right)}A^{\prime}D} +} \right.}} \\ {{{Dee}^{\prime}D} + {{diag}\left( {\left( {u - {ve}} \right)_{*} + {\alpha\left( {- u} \right)}_{*}} \right)}} \\ {= {{{{DA}\left( {{diag}\left( {{{A^{\prime}{Du}}} - e} \right)}_{*} \right)}A^{\prime}D} +}} \\ {{{{Dee}^{\prime}D} + {{diag}\left( {\left( {u - {\upsilon\; e}} \right)_{*} + {\alpha\left( {- u} \right)}_{*}} \right)}},} \end{matrix} & (25) \end{matrix}$ where the last equality follows from the equality: (a−1)*+(−a−1)*=(|a|−1)*.  (26)

Given the above relationships, the Newton method for input feature selection can be described in detail. Specifically, the method involves letting ƒ(u), and ∇ƒ(u) and ∂²ƒ(u) be defined by equations (23)-(25), and setting the parameter values ν, ε, δ, tolerance tol, α, and imax. Typically, ε=10⁻¹ for nonlinear SVMs and ε=10⁻⁴ for linear SVMs, tol=10⁻³, α=10³, and imax=50, while ν and δ are set by a tuning procedure described in detail later in this disclosure. Starting with any u⁰εR^(m), for i=0, 1, . . . :

(I) $\begin{matrix} {{{u^{i + 1} = {{u^{i} - {{\lambda_{i}\left( {{\partial^{2}{f\left( u^{i} \right)}} + {\delta\; I}} \right)}^{- 1}{\nabla{f\left( u^{i} \right)}}}} = {u^{i} + {\lambda_{i}d^{i}}}}},{{\text{where~~~the~~~Armijo~~~stepsize}\mspace{11mu}\lambda_{i}} = {\max\left\{ {1,\frac{1}{2},\frac{1}{4},\ldots} \right\}}}}\text{is~~~such~~~that:}} & (27) \\ {{{{f\left( u^{i} \right)} - {f\left( {u^{i} + {\lambda_{i}d^{i}}} \right)}} \geq {{- \frac{\lambda_{i}}{4}}{\nabla{f\left( u^{i} \right)}^{\prime}}d^{i}}},} & \; \end{matrix}$ and d^(i) is the modified Newton direction: d ^(i)=−(∂²ƒ(u ^(i))+δI)⁻¹∇ƒ(u ^(i)).  (28)

-   -   (II) Stop if ∥u^(i)−u^(i+1)∥≦tol or i=imax. Else. set i=i+1,         α=2α and go to (I).     -   (III) Define the least 2-norm solution of the linear programming         SVM of equation (6) using equation (15) with u=u^(i).

A convergence result for this algorithm is set forth according to the following theorem. Let tol=0, imax=∞, and let ε>0 be sufficiently small. Each accumulation point ū of the sequence {u^(i)} generated by the above algorithm solves the exterior penalty problem (9). The corresponding ( w, γ, y) obtained by setting u to ū in equation (15) is the exact least 2-norm solution to the primal linear program SVM of equation (6), as indicated by the following proof.

The fact that each accumulation point ū of the sequence {u_(i)} solves the minimization problem of equation (9) follows from exterior penalty results and standard unconstrained descent methods such as those detailed in O. L. Mangasarian, “Parallel gradient distribution in unconstrained optimization,” SIAM Journal on Control and Optimization, 33(6):1916-1925, 1995, and in this disclosure, and the facts that the direction choice d_(i) of equation (19) satisfies, for some c>0:

$\begin{matrix} \begin{matrix} {{{- {\nabla\;{f\left( u^{i} \right)}^{1}}}d^{i}} = {{\nabla\;{f\left( u^{i} \right)}^{1}}\left( {{\delta\; I} + {\partial^{2}{f\left( u^{i} \right)}}} \right)^{- 1}{\nabla\;{f\left( u^{i} \right)}}}} \\ {{\geq {c{{\nabla\;{f\left( u^{i} \right)}}}^{2}}},} \end{matrix} & (29) \end{matrix}$ and that an Armijo stepsize is used per equation (27). The last statement of the theorem follows from the Proposition outlined above.

As an application note, it is useful to understand that determining the size of ε, such that the solution u of the quadratic program (11) for εε(0, ε], is the least 2-norm solution of problem (6), is not an easy problem theoretically. However, computationally, this does not seem to be critical and is effectively addressed as follows. By equation (11) above, if for two successive values of ε:ε¹>ε², the corresponding solutions of the ε-perturbed quadratic program (11): u¹ and u² are equal, then under certain assumptions, u=u¹=u² is the least 2-norm solution of the dual linear programming formulation (6). This result can be implemented computationally by using an ε which, when decreased by some factor, yields the same solution to dual linear programming formulation (6).

EXAMPLES

In order to show that a fast Newton method as described herein can achieve very significant feature suppression, numerical tests and comparisons were carried out on a dataset with a high dimensional input space and a moderate number of data points. On the other hand, in order to show that the algorithm has a computational speed comparable to that of other fast methods, experiments also were performed on more conventional datasets where the dimensionality of the input space is considerably smaller than the number of data points.

All computations were performed on the University of Wisconsin Data Mining Institute “locop1” machine, which utilizes a 400 MHz Pentium II and allows a maximum of 2 Gigabytes of memory for each process. This computer runs on Windows NT server 4.0, with MATLAB 6 installed.

Because of the simplicity of the disclosed algorithm, a simple MATLAB implementation of the algorithm without the Armijo stepsize, which does not seem to be needed in most applications, is presented below. Although this is merely an empirical observation in the present case, it considerably simplifies the MATLAB code. However, it has also been shown herein that under a well conditioned assumption, not generally satisfied in this example, the proposed Newton algorithm indeed terminates in a finite number of steps without an Armijo stepsize. Note that this version of the algorithm is intended for cases where the number of data points m is smaller than the number of features n, i.e., when m<<n since the speed of the algorithm depends on m in a cubic fashion.

The following is example MATLAB code for implementing a Newton Linear Programming Support Vector Machine (NLPSVM) as described herein:

function [w,gamma]=nlpsvm(A,d,nu,delta) %NLPSV: linear and nonlinear classification % without Armijo %INPUT: A, D, nu, delta. OUTPUT=w, gamma. %[w,gamma]=nlpsvm(A,d,nu,delta) epsi=10{circumflex over ( )}(−4);alpha=10{circumflex over ( )}3;tol=10{circumflex over ( )}(−3);imax=50; [m,n]=size(A);en=ones(n,1);em=ones(m,1); u=ones(m,1);%initial point iter=0;g=1; epsi=epsi*em;nu=nu*em; DA=spdiags(d,0,m,m)*A; while (norm(g)>tol) & (iter<imax)   iter=iter+1;   du=d.*u;Adu=A′*du;   pp=max(Adu−en,0);np=max(−Adu−en,0);   dd=sum(du)*d;unu=max(u−nu,0);uu=max(−u,0);   g=−epsi+(d.*(A*pp))−(d.*(A*np))+dd+unu−alpha*uu;   E=spdiags(sqrt(sign(np)+sign(pp)),0,n,n);   H=[DA*E d];   F=delta+sign(unu)+alpha*sign(uu);   F=spdiags(F,0,m,m);   di=−((H*H′+F)\g);   u=u+di; end du=d.*u;Adu=A′*du; pp=max(Adu−en,0);np=max(−Adu−en,0); w=1/epsi(1)*(pp−np); gamma=−(1/epsi(1))*sum(du); return

The above MATLAB code works not only for a linear classifier, but also for a nonlinear classifier per equations (1) and (10). In the nonlinear case, the matrix K(A, A′)D is used as input instead of A, and the pair (ν, γ), is returned instead of (w, γ). The nonlinear separating surface is then given by equation (11) as: K(x,A′)Dν−γ=0.  (30)

Numerical testing and comparisons were carried out on the high dimensional Multiple Myeloma dataset available at: http://lambertlab.uams.edu/publicdata.htm. The structure of this dataset with very large n and (m<<n) results from the DNA microarray dataset used. Hence, feature selection is very desirable in such high dimensional problems. Other tests and comparisons were also carried out on six moderately dimensioned, publicly available datasets described below.

Multiple Myeloma Dataset

Multiple Myeloma is cancer of the plasma cell. The plasma cell normally produces antibodies that destroy foreign bodies such as bacteria. As a product of the Myeloma disease the plasma cells produce a tumor. These tumors can grow in several sites, usually in the soft middle part of bone, i.e., the bone marrow. When these tumors appear in multiples sites, they are called Multiple Myeloma. A detailed description of the process used to obtain the data can be found in David Page, Fenghuang Zhan, James Cussens, Michael Waddell, Johanna Hardin, Bart Barlogie, and John Shaughnessy, Jr., “Comparative data mining for microarrays: A case study based on multiple myeloma,” Technical Report 1453, Computer Sciences Department, University of Wisconsin, November 2002.

The Multiple Myeloma data set consists of 105 data points. 74 of the points represent newly-diagnosed multiple Myeloma patients while 31 points represent 31 healthy donors. Each data point represents measurements taken from 7008 genes using plasma cell samples from the patients. For each one of the 7008 genes, there are two measurements. One measurement is called Absolute Call (AC) and takes on one of three nominal values: A (Absent), M (Marginal) or P (Present). The other measurement, the average difference (AD), is a floating point number that can be either positive or negative.

FIG. 5 is a diagram illustrating an exemplary absolute call feature set. In particular, FIG. 5 depicts real-valued representations of the AC features set {A,M,P}. Since each one of the 7008 AC features takes on nominal values from the set {A,M,P}, a real valued representation is needed to utilize the SVM classifier disclosed herein, which requires an input of real numbers. Thus, each nominal value is mapped into a three-dimensional binary vector depending on the value that is being represented. This simple and widely used “1 of N” mapping scheme for converting nominal attributes into real-valued attributes is illustrated in FIG. 5.

Once this simple conversion is applied to the dataset, the AC feature space is transformed from a 7008-dimensional space with nominal values A, M, P into a 7008×3=21024 real-valued dimensional space. Adding the numerical AD feature for each of the 7008 genes results in each data point being transformed to a point in R²⁸⁰³², with 21024 coming from the AC transformation mentioned above and 7008 from the AD values. This conversion makes this dataset very interesting for the disclosed algorithm, since a main objective is to show that it does a remarkable job of suppressing features especially for datasets in a very high dimensional input space.

Performance of the NLPSVM algorithm of the invention on the Myeloma dataset, in terms of feature selection and generalization ability, is first compared with two publicly available SVM solvers: the LSVM described in O. L. Mangasarian and D. R. Musicant, “Lagrangian support vector machines,” Journal of Machine Learning Research, 1:161-177, 2001 and the NSVM described in G. Fung and O. L. Mangasarian, “Finite Newton method for Lagrangian support vector machine classification,” Technical Report 02-01, Data Mining Institute, Computer Sciences Department, University of Wisconsin, Madison, Wis., February 2002.

Reported times for the LSVM here differ from the ones reported in the Mangasarian and Musicant paper because the calculation time for the matrix H of equation (9) is considered as input time in the Mangasarian and Musicant paper, whereas in this disclosure it is counted as part of the computational time. The other algorithm included in this comparison consists of solving the linear programming formulation (20) employing the widely used commercial solver CPLEX 6.5, commercially available from the ILOG CPLEX Division of CPLEX, Inc, Incline Village, Nev. This approach can be referred to as CPLEX SVM. Termination criteria for all methods, with the exception of CPLEX SVM, was set to tol=0.001, which is the default for LSVM. For CPLEX SVM, the termination criterion used was the default supplied in the commercial CPLEX package. Outlined below are some of the results of the comparative testing.

All three methods tested, NSVM, NLPSVM in accordance with the invention, and CPLEX SVM, obtained 100% leave-one-out correctness (looc). The following tuning procedure was employed for each of the 105 folds:

-   -   A random tuning set of the size of 10% of the training data was         chosen and separated from the training set.     -   Several SVMs were trained on the remaining 90% of the training         data using values of ν equal to 2^(i) with i=−12, . . . , 0, . .         . , 12. Values of the parameter δ tried were 10^(j) with j=−3, .         . . , 0, . . . , 3. This made the search space for the pair (ν,         δ) a grid of dimension 25×7.     -   Values of ν and δ that gave the best SVM correctness on the         tuning set were chosen.     -   A final SVM was trained using the chosen values of ν and δ and         all the training data. The resulting SVM was tested on the         testing data.

The remaining parameters were set to the following values: ε=4×10⁻⁴, α=10³, tol=10⁻³, imax=50. The NLPSVM method outperformed all others in the feature selection task, and obtained 100% looc using only 7 features out of 28032 original features. The closest contender was CPLEX SVM which required more than twice as many features.

The average CPU time required by the NLPSVM algorithm for the leave-one-out correctness (looc) computations was 75.16 seconds per fold and a total time for 105 folds was 7891.80 seconds. This outperformed CPLEX SVM both in CPU time and number of features used. CPLEX SVM had a CPU time of 108.28 per fold, a total time of 11369.40 seconds and used 28 features. However, NLPSVM was considerably slower than the NSVM, which had a CPU time of 4.20 seconds average per fold and total looc time of 441.00 seconds. The NSVM classifier required 6554 features, more than any classifier obtained by all other methods. LSVM failed and reported an out of memory error. These results are summarized in Table 1 below. In particular, Table 1 indicates looc results, total running times and number of average and overall features used by a linear classifier for the Myeloma dataset. The designation “oom” indicates “out of memory.”

TABLE 1 CPLEX SVM[11] NLPSVM looc looc NSVM[8] Time (Sec.) LSVM[21] Time (Sec.) Data Set looc Average looc Average m × n Time (Sec.) Features Time (Sec.) Features (points × Average Overall Average Overall dimensions) Features Features Features Features Myeloma 100.0% 100.0% oom 100% 105 × 28032 441.00 11369.40 oom 7891.80 6554 16 oom 7 16 7

Tests on six other datasets have been performed. In the following description, the effectiveness of NLPSVM in performing feature selection while maintaining accuracy and CPU time comparable to those of other methods that do not perform feature selection. The NLPSVM algorithm was tested for six publicly available datasets. Five datasets were from the University of California-Irvine Machine Learning Repository, and included the Ionosphere, Cleveland Heart, Pima Indians, BUPA Liver and Housing datasets. The sixth dataset is the Galaxy Dim dataset described in S. Odewahn, E. Stockwell, R. Pennington, R. Humphreys, and W. Zumach, “Automated star/galaxy discrimination with neural networks,” Astronomical Journal, 103(1):318-331, 1992. The dimensionality and size of each dataset is given in Table 2 below.

TABLE 2 NSVM CPLEX SVM LSVM NLPSVM Data Set Train Train Train Train m × n Test Test Test Test (points × Time (Sec.) Time (Sec.) Time (Sec.) Time (Sec.) dimensions) Features Features Features Features Ionosphere 92.9% 90.9% 92.9% 90.7%  351 × 34 88.9% 88.3% 88.9% 88.0% 0.91 3.2 1.49 2.4 34 17.7 34 11.2 BUPA Liver 70.3% 71.2% 70.3% 70.6%  345 × 6 70.2% 69.9% 70.2% 68.8% 0.24 5.17 0.92 1.13 6 6 6 4.8 Pima Indians 77.7% 76.8% 77.7% 76.8%  768 × 8 77.2% 77.0% 77.2% 77.1% 0.55 3.94 2.30 1.07 8 5 8 4.9 Cleveland 87.2% 85.9% 87.2% 86.5% Heart 86.6% 85.5% 86.6% 85.9%  297 × 13 0.14 1.08 0.31 0.55 13 7.5 13 7.1 Housing 87.7% 87.7% 87.7% 87.0%  506 × 13 86.8% 85.0% 86.8% 85.2% 0.69 2.54 1.53 1.91 13 10.9 13 6.5 Galaxy Dim 94.0% 94.7% 94.0% 94.4% 4192 × 14 94.2% 94.7% 94.2% 94.6% 6.67 29.82 71.56 8.90 14 5 14 3.4

In this set of experiments, linear classifier to was used to compare the NLPSVM method of the invention with LSVM, NSVM and CPLEX SVM on the six datasets mentioned above. Because m>>n for these datasets, it was preferable to use the Sherman-Morrison-Woodbury identity, described in G. H. Golub and C. F. Van Loan, “Matrix Computations,” The John Hopkins University Press, Baltimore, Md., 3rd edition, 1996, to calculate the direction d_(i) in the Newton iteration (28) and solve an (n+1)×(n+1) linear system of equations instead of an m×m linear system of equations. For this purpose define: E ²:=diag(|A′Du|−e)*. H:=D[AEe]. and F:=diag((u−νe)*+α(−u)*)+δI.  (31) Then, it follows from equation (25) that: ∂²ƒ(u)+δI=HH′+F.  (32) which is the matrix with the inverse needed in the Newton iteration (28). Applying the Sherman-Morrison-Woodbury identity: (HH′+F)⁻¹ =F ⁻¹ −F ⁻¹ H(I+H′F ⁻¹ H)⁻¹ H′F ⁻¹. Note that the inverse F⁻¹ of F is trivial to calculate because F is a diagonal matrix. This simple but effective algebraic manipulation makes the NLPSVM algorithm very fast even when m>>n but n is relatively small.

The values for the parameters ν and δ were again calculated using the same tuning procedure described above. The values of the remaining parameters were the same as those used with respect to the Myeloma dataset. As shown in Table 2, the correctness of the four methods was very similar. In addition, the execution time including tenfold cross validation for NSVM was less for all the datasets tested. However, all solutions obtained by NSVM depended on all of the original input features. In contrast, NLPSVM performed comparably to LSVM, and was always faster than CPLEX SVM, but used the least number of features on all of the datasets compared to all other methods tested.

In order to show that the NLPSVM algorithm can also be used to find nonlinear classifiers, three datasets from the University of California-Irvine Machine Learning Repository were chosen for which it is known that a nonlinear classifier performs better that a linear classifier. The NSVM, LSVM, CPLEX SVM and the disclosed LPSVM algorithm were used in order to find a nonlinear classifier based on the Gaussian kernel: (K(A,B))_(i,j) =E ^(−p∥A) ^(i) ^(′−B) ^(j) ^(∥) ² , i=1, . . . ,m, j=1, . . . ,k.  (32)

where AεR^(m×n), BεR^(n×k) and μ is a positive constant. The value of μ in the Gaussian kernel and the value of ν in all the algorithms were chosen by tuning on the values 2^(i) with i being an integer ranging from −12 to 12 following the same tuning procedure described above. The value of δ in the NLPSVM method was obtained also by tuning on the values 10^(j) with j=−3, . . . , 0, . . . , 3. The value of the parameter ε in was set to 10⁻¹. The values of the remaining parameters were the same as with respect to the Myeloma dataset.

Because the nonlinear kernel matrix is square and since NLPSVM, NSVM and LSVM perform better on rectangular matrices, a rectangular kernel formulation was also used as described in the Reduced SVM (RSVM) described in Y. J. Lee and O. L. Mangasarian, “RSVM: Reduced support vector machines,” Technical Report 00-07, Data Mining Institute, Computer Sciences Department, University of Wisconsin, Madison, Wis., July 2000, reprinted in Proceedings of the First SIAM International Conference on Data Mining, Chicago, Apr. 5-7, 2001, CD-ROM Proceedings.

This approach resulted in as good or better correctness and much faster running times for NLPSVM. The size of the random sample used to calculate the rectangular kernel was 10% of the size of the original dataset in all cases. These variations of NSVM, LSVM, CPLEX SVM and NLPSVM are referred to as Reduced NSVM, Reduced LSVM, Reduced CPLEX SVM and Reduced NLPSVM, respectively. The results are summarized in TABLE 3 below for these nonlinear classifiers.

TABLE 3 Data Set m × n Cleveland (points × Ionosphere BUPA Liver Heart Algorithm dimensions) 351 × 34 345 × 6 297 × 13 NSVM Train 96.1 75.7 87.6 Test 95.0 73.1 86.8 Time (Sec.) 23.27 25.54 17.51 Card(ν) 351 345 297 Reduced Train 96.1 76.4 86.8 NSVM Test 94.5 73.9 87.1 Time (Sec.) 0.88 0.67 0.53 Card(ν) 35 35 30 LSVM Train 96.1 75.7 87.6 Test 95.0 73.1 86.8 Time (Sec.) 23.76 27.01 12.98 Card(ν) 351 345 297 Reduced Train 96.1 75.1 87.1 LSVM Test 94.5 73.1 86.2 Time (Sec.) 2.09 1.81 1.09 Card(ν) 35 35 30 NLPSVM Train 94.4 75.4 86.9 Test 93.5 73.9 86.2 Time (Sec.) 195.31 187.91 70.47 Card(ν) 22.3 32.7 50.1 Reduced Train 94.4 74.5 85.9 NLPSVM Test 95.1 73.9 86.5 Time (Sec.) 2.65 6.82 5.17 Card(ν) 14.6 16.4 12.3 CPLEX SVM Train 99.2 76.4 87.8 Test 96.1 73.6 86.2 Time (Sec.) 34.8 34.48 18.37 Card(ν) 36.1 26.2 14.1 Reduced Train 98.7 76.4 87.0 CPLEX SVM Test 95.5 73.9 85.6 Time (Sec.) 3.08 4.42 2.47 Card(ν) 26.9 18.7 12.6

Table 3 illustrates NVSM, LVSM, NLPSVM, CPLEX SVM and Reduced NSVM, LSVM, NLPSVM, CPLEX SVM in terms of training correctness, ten-fold testing correctness, ten-fold training times and cardinality of v(Card(v)) using a nonlinear classifier. Training and testing correctness and cardinality of v are all averages over ten folds, while time is the total time over ten folds.

Again, as in the linear case, the correctness of the four methods for a nonlinear SVM was similar on all the datasets. The execution time including ten-fold cross validation for NSVM was less for all the datasets tested, but with non-sparse solutions. NLPSVM performance was fast when a reduced rectangular kernel was used, and it obtained very sparse solutions that resulted in nonlinear kernel classifiers that are easier to store and to evaluate.

In general, the NLPSVM of the invention provides a fast and finitely terminating Newton method for solving a fundamental classification problem of data mining with a pronounced feature selection property for linear classifiers. When nonlinear classifiers are used, the algorithm performs feature selection in a high dimensional space of the dual variable, which results in a nonlinear kernel classifier that depends on a small number of kernel functions. This makes the method a very good choice for classification when feature selection or a fast nonlinear kernel classifier is required, as in the case of online decision-making such as fraud or intrusion detection.

Advantageously, the NLPSVM algorithm requires only a linear equation solver, which makes is simple, fast and easily accessible. In addition, NLPSVM can be applied very effectively to classification problems in very large dimensional input spaces, which is often the case in the analysis of gene expression microarray data. NLPSVM can also be used effectively for classifying large datasets in smaller dimensional input space. As such, NLPSVM is a versatile stand-alone algorithm for classification which is a valuable addition to the tools of data mining and machine learning.

The invention may be embodied as a computer-readable medium that includes instructions for causing a programmable processor to carry out the methods described above. A “computer-readable medium” includes but is not limited to read-only memory, random access memory, Flash memory, magnetic and optical storage media The instructions may be implemented as one or more software modules, which may be executed by themselves or in combination with other software. The instructions and the media are not necessarily associated with any particular computer or other apparatus, but may be carried out by various general-purpose or specialized machines. The instructions may be distributed among two or more media and may be executed by two or more machines. The machines may be coupled to one another directly, or may be coupled through a network, such as a local access network (LAN), or a global network such as the Internet.

The invention may also be embodied as one or more devices that include logic circuitry to carry out the functions or methods as described herein. The logic circuitry may include a processor that may be programmable for a general purpose, or a microcontroller, a microprocessor, a Digital Signal Processor (DSP), Application Specific Integrated Circuit (ASIC), and the like.

Various techniques described in this disclosure are also described in “A Feature Selection Newton Method for Support Vector Machine Classification,” Glenn Fung and Olvi Mangasarian, Data Mining Institute Technical Report 02-03, September 2002, the entire content of which is incorporated herein by reference.

Various embodiments of the invention have been described. These and other embodiments are within the scope of the following claims. 

1. A computer-implemented method comprising: defining a primal linear programming formulation of a support vector machine classifier; solving an exterior penalty function of a dual of the primal linear programming formulation to produce a solution to the primal linear programming formulation of the support vector machine classifier; and selecting an input set for the support vector machine classifier based on the solution.
 2. The method of claim 1, further comprising minimizing the exterior penalty function for a finite value of a penalty parameter.
 3. The method of claim 1, wherein the primal linear programming formulation is a 1-norm linear programming formulation.
 4. The method of claim 1, wherein the solution is a least 2-norm solution.
 5. The method of claim 1, wherein the support vector machine classifier is a linear support vector machine classifier, and selecting an input set includes selecting a set of input features of the linear support vector machine classifier.
 6. The method of claim 1, wherein the support vector machine classifier is a nonlinear support vector machine classifier, and selecting an input set includes selecting a set of kernel functions for the nonlinear support vector machine classifier.
 7. The method of claim 1, further comprising: calculating a separating surface based on the input set and the support vector machine classifier; and classifying data using the separating surface.
 8. The method of claim 7, further comprising classifying the data into two sets of data using the separating surface.
 9. The method of claim 7, wherein the separating surface is one of an n-dimensional hyperplane and a nonlinear surface.
 10. The method of claim 1, further comprising applying a Newton-based algorithm to solve the exterior penalty function.
 11. The method of claim 1, further comprising applying one or more linear constraints to the solution of the exterior penalty function.
 12. The method of claim 1, wherein selecting an input set includes selecting a subset of input features from a larger set of input features that is substantially larger than the subset of input features.
 13. The method of claim 12, wherein the subset of input features includes less than approximately one percent of the larger set of input features.
 14. The method of claim 12, wherein the subset of input features includes less than approximately 0.1 percent of the larger set of input features.
 15. The method of claim 12, wherein the larger set of input features includes more than 20,000 input features, and the subset of input features includes less than ten input features.
 16. The method of claim 1, further comprising applying the support vector machine classifier to classify data relating to one of fraud detection, credit evaluation, gene expression, intrusion detection, medical diagnosis or medical prognosis.
 17. The method of claim 1, further comprising applying the support vector machine classifier to classify data relating to multiple myeloma.
 18. The method of claim 1, further comprising applying the support vector machine classifier to classify data relating to absolute call measurements for multiple myeloma.
 19. A classification system comprising: a processor that applies a primal linear programming formulation of a support vector machine classifier to classify data based on an input set; and an input module that generates the input set based on a solution of an exterior penalty function of a dual of the primal linear programming formulation.
 20. The system of claim 19, wherein the input module generates the input set based on a minimization of the exterior penalty function for a finite value of a penalty parameter.
 21. The system of claim 19, wherein the primal linear programming formulation is a 1-norm linear programming formulation.
 22. The system of claim 19, wherein the solution is a least 2-norm solution.
 23. The system of claim 19, wherein the support vector machine classifier is a linear support vector machine classifier, and the input set includes a set of input features of the linear support vector machine classifier.
 24. The system of claim 19, wherein the support vector machine classifier is a nonlinear support vector machine classifier, and the input set includes a set of kernel functions for the nonlinear support vector machine classifier.
 25. The system of claim 19, wherein the processor calculates a separating surface based on the input set and the support vector machine classifier, and classifies data using the separating surface.
 26. The system of claim 25, wherein the processor classifies the data into two sets of data using the separating surface.
 27. The system of claim 25, wherein the separating surface is one of an n-dimensional hyperplane and a nonlinear surface.
 28. The system of claim 19, wherein the input module applies a Newton-based algorithm to solve the exterior penalty function.
 29. The system of claim 19, wherein the solution to the exterior penalty function is subject to one or more linear constraints.
 30. The system of claim 19, wherein the input set is a subset of input features selected from a larger set of input features that is substantially larger than the subset of input features.
 31. The system of claim 30, wherein the subset of input features includes less than approximately one percent of the larger set of input features.
 32. The system of claim 30, wherein the subset of input features includes less than approximately 0.1 percent of the larger set of input features.
 33. The system of claim 30, wherein the larger set of input features includes more than 20,000 input features, and the subset of input features includes less than ten input features.
 34. The system of claim 19, wherein the processor applies the support vector machine classifier to classify data relating to one of fraud detection, credit evaluation, gene expression, intrusion detection, medical diagnosis or medical prognosis.
 35. The system of claim 19, wherein the processor applies the support vector machine classifier to classify data relating to multiple myeloma.
 36. The method of claim 19, wherein the processor applies the support vector machine classifier to classify data relating to absolute call measurements for multiple myeloma.
 37. A computer-readable medium comprising instructions to cause a processor to: define a primal linear programming formulation of a support vector machine classifier; solve an exterior penalty function of a dual of the primal linear programming formulation to produce a solution to the primal linear programming formulation of the support vector machine classifier; and select an input set for the support vector machine classifier based on the solution.
 38. The computer-readable medium of claim 37, further comprising instructions to cause a processor to minimize the exterior penalty function for a finite value of a penalty parameter.
 39. The computer-readable medium of claim 37, wherein the primal linear programming formulation is a 1-norm linear programming formulation.
 40. The computer-readable medium of claim 37, wherein the solution is a least 2-norm solution.
 41. The computer-readable medium of claim 37, wherein the support vector machine classifier is a nonlinear support vector machine classifier, and the input set includes a set of input features for the linear support vector machine classifier.
 42. The computer-readable medium of claim 37, wherein the support vector machine classifier is a nonlinear support vector machine classifier, and the input set includes a set of kernel functions for the nonlinear support vector machine classifier.
 43. The computer-readable medium of claim 37, further comprising instructions to cause a processor to: calculate a separating surface based on the input set and the support vector machine classifier; and classify data using the separating surface.
 44. The computer-readable medium of claim 43, further comprising instructions to cause a processor to classify the data into two sets of data using the separating surface.
 45. The computer-readable medium of claim 43, wherein the separating surface is one of an n-dimensional hyperplane and a nonlinear surface.
 46. The computer-readable medium of claim 37, further comprising instructions to cause a processor to apply a Newton-based algorithm to solve the exterior penalty function.
 47. The computer-readable medium of claim 37, further comprising instructions to cause a processor to apply one or more linear constraints to the solution of the exterior penalty function.
 48. The computer-readable medium of claim 37, further comprising instructions to cause a processor to select a subset of input features from a larger set of input features that is substantially larger than the subset of input features.
 49. The computer-readable medium of claim 48, wherein the subset of input features includes less than approximately one percent of the larger set of input features.
 50. The computer-readable medium of claim 48, wherein the subset of input features includes less than approximately 0.1 percent of the larger set of input features.
 51. The computer-readable medium of claim 48, wherein the larger set of input features includes more than 20,000 input features, and the subset of input features includes less than ten input features.
 52. The computer-readable medium of claim 37, wherein the instructions cause the processor to apply the support vector machine classifier to classify data relating to one of fraud detection, credit evaluation, gene expression, intrusion detection, medical diagnosis or medical prognosis.
 53. The computer-readable medium of claim 37, wherein the instructions cause the processor to apply the support vector machine classifier to classify data relating to multiple myeloma.
 54. The computer-readable medium of claim 37, wherein the instructions cause the processor to apply the support vector machine classifier to classify data relating to absolute call measurements for multiple myeloma.
 55. A support vector machine classification system comprising: a data storage medium storing input data for classification; a support vector machine classifier that classifies the input data into a first set of data and a second set of data based on a set of input features; and a selection module that produces a reduced set of input features for the support vector machine classifier based on a minimization of an exterior penalty function of a dual of a primal linear programming formulation of the linear support vector machine classifier for a finite value of a penalty parameter.
 56. The system of claim 55, wherein the selection module includes: a dual generator that generates the dual of the primal linear programming formulation of the linear support vector machine classifier; an exterior penalty function solver that minimizes the exterior penalty function of the dual; and a feature generator that generates the reduced set of input features for the support vector machine classifier.
 57. The system of claim 55, wherein the support vector machine classifier classifies data relating to one of fraud detection, credit evaluation, gene expression, intrusion detection, medical diagnosis or medical prognosis. 